Data storage systems are used to store data on physical media in a manner that is transparent to host computers. From the perspective of a host computer, data is stored at logical addresses located on file systems, or logical volumes, of the storage system. The file systems or logical volumes are typically configured to store the data required for a specific data processing application. Data storage systems map the logical addresses to addressable physical locations on storage media, such as direct access hard disks. In a typical configuration, physical locations comprise tracks on a hard disk, and a track can typically store many blocks of data.
Snapshots of a logical volume reflect the status of data stored in the logical volume at an instant of time. Snapshots are often used to generate copies of logical volumes for testing purposes or for restoring the logical volumes. Typically a snapshot is implemented without physically copying all data in the logical volume. Rather, the snapshot is defined, and data comprising the snapshot is kept at the original physical location. When a command is subsequently received to write new data at the original location, the old data representing the data from the time of the snapshot is preserved.
Snapshots may also be referred to as instant copies, though generally snapshots refer to copies that are accessible in a read-only manner, whereas instant copies typically have read and write capabilities.
U.S. Pat. No. 6,779,094 to Selkirk, et al., whose disclosure is incorporated herein by reference, describes various instant copy mechanisms for copying data upon receiving a write operation to either original or copied data. Upon receiving a write operation for writing new data to a first data location, the new data is written to a second data location. Multiple layers of mapping tables provide unique identification of the storage location of the data such that individual entries in the mapping tables are variable and may be self-defining.
U.S. Pat. No. 6,779,095 to Selkirk, et al., whose disclosure is incorporated herein by reference, describes the use of a plurality of layers of mapping tables for storing data. The mapping tables provide unique identifications of locations of the data. When the data is copied, the physical placement of the original data is described by a mapping mechanism referred to as the original data map. This identifies the physical storage location used to store the original data. The physical placement of the copy data is described by a mapping mechanism referred to as the copy data map. This identifies the physical storage location used to store the copy data.
U.S. Patent Publications 2003/0195887 and 2003/0208463 to Vishlitzky, et al., whose disclosures are incorporated herein by reference, describe a storage device containing a first storage area of a first type containing data and a second storage area of a second type containing a table of pointers to the data provided in the storage area of the first type. The second storage area is a virtual storage area containing no sections of data and represents a copy of the data of the first storage area at a point in time.
U.S. Pat. No. 6,820,099 to Huber, et al., whose disclosure is incorporated herein by reference, describes the use of a snapshot volume to update a primary, or “base,” logical volume. Updates are made to the snapshot volume while the base volume is still used to satisfy normal data access requests. After the updating of the snapshot is complete, the snapshot is “rolled back” to the base volume. During rollback, updated data are available from either the snapshot or from the base volume, and thus the updating appears to be instantaneous.
U.S. Pat. No. 6,687,718 to Gagne, et al., whose disclosure is incorporated herein by reference, describes transferring data from a data altering apparatus, such as a production data processing site, to a remote data receiving site. A data storage facility includes a first data store for recording each change in the data generated by the data altering apparatus. A register set records each change on a track-by-track basis. A second data store has first and second operating modes. During a first operating mode the second data store becomes a mirror of the first data store. During a second operating mode the second data store ceases to act as a mirror and becomes a source for a transfer of data to the data receiving site. Only information that has been altered, i.e., specific tracks that have been altered, is transferred during successive operations in the second operating mode.
U.S. Pat. No. 6,513,102 to Garrett, et al., whose disclosure is incorporated herein by reference, describes a system for transferring data from a first storage device, accessible to a first command processor, to a second storage device accessible to a second command processor but not necessarily to the first processor. In this case, the transfer is made internally by a storage controller rather than by requiring the command processors to communicate directly with each other.
U.S. Pat. No. 6,742,138 to Gagne, et al., whose disclosure is incorporated herein by reference, describes a data recovery program that restores data in a first storage device using data from a second storage device. The program also updates the first storage device with data supplied from a host.
U.S. Pat. No. 6,574,703 to Don, et al., whose disclosure is incorporated herein by reference, describes a method for initializing an extent on a mass storage device having at least one track. Initializing the extent comprises setting an initialization code indicating that the track is to be initialized. A subsequent read/write operation in a track of the extent causes the track to be rewritten with the initialization data.
U.S. Patent Publication 2003/0195864 to Vishlitzky, et al., whose disclosure is incorporated herein by reference, describes providing storage areas of a multiplicity of types that contain sections of data. Pointers are provided that are claimed to allow access or not to allow access to the data.
U.S. Pat. No. 6,839,827 to Beardsley, et al., whose disclosure is incorporated herein by reference, describes a method for mapping logical blocks to physical storage blocks. A storage controller defines the logical storage space as a sequence of logical chunks, wherein each logical chunk comprises a plurality of logical blocks in the logical storage space. The storage controller further defines a physical storage space as a sequence of physical chunks, wherein each physical chunk comprises a plurality of physical blocks in the physical storage system. The storage controller associates each logical chunk in the sequence of logical chunks defining the logical storage space with one physical chunk in the physical storage system. Further, contiguous logical chunks are capable of being associated with non-contiguous physical chunks.
U.S. Pat. No. 6,088,764 to Shyam, et al., whose disclosure is incorporated herein by reference, describes a method for reducing space allocation failures in a computer system that utilizes direct access storage devices to store data. The method comprises determining if authorization has been given to attempt to allocate an initial space request over more than one volume, and, if so, attempts to allocate space on a plurality of volumes. If the initial space request cannot be allocated on a plurality of volumes, the initial space request is reduced by a preset percentage, an extent limit is removed and an attempt is made to allocate the reduced space request on the plurality of volumes.
U.S. Pat. No. 5,897,661 to Baranovsky, et al., whose disclosure is incorporated herein by reference, describes an apparatus providing a logical unit of undivided data storage that spans physical storage device boundaries. The apparatus manages the logical unit of undivided storage using metadata information stored on the physical storage devices. The apparatus replicates a minimum portion of the metadata information across all of the data storage devices and typically writes metadata only in the devices where the information is required to operate. In a preferred embodiment, a logical unit of undivided storage is created by defining a logical volume and allocating portions of available physical data storage devices thereto in order to provide a minimum logical volume size. Metadata is generated and stored on the data storage devices to provide detailed information about the portions of each data storage device that have been allocated to the logical volume.
U.S. Patent Application Publications 2005/0076262, 2005/0076261, 2005/0066222, 2005/0065962, and 2005/0063374 to Rowan, et al., whose disclosures are incorporated herein by reference, describe “a method, apparatus, and system for accessing units of storage that depends at least in part on an address of the unit of storage and the time that data was written to the unit of storage.” A data store is provided that identifies the location of data at a requested address in response to a time specification and a data request. In one embodiment, “the location is chosen from a time store associated with a data store and a current store associated with the data store, or some combination. The identifying step can include determining whether the data at the requested address at the specified time was changed after the specified time. If data at the requested address was changed after the specified time, the identified location is the time store. If the data was not changed, the identified location is the current store.”